package cn.com.dcsgo.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.math.BigDecimal;
import java.util.Date;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * 商品实体类（商品表 prod）
 */
@Data
@TableName(value = "prod")
@Schema(description = "商品实体类")
public class Prod {
    /**
     * 产品ID
     */
    @Schema(description = "产品ID")
    @TableId(type = IdType.AUTO)
    private Long prodId;

    /**
     * 商品名称
     */
    @Schema(description = "商品名称")
    private String prodName;

    /**
     * 店铺id
     */
    @Schema(description = "店铺id")
    private Long shopId;

    /**
     * 原价
     */
    @Schema(description = "原价")
    private BigDecimal oriPrice;

    /**
     * 现价
     */
    @Schema(description = "现价")
    private BigDecimal price;

    /**
     * 简要描述,卖点等
     */
    @Schema(description = "简要描述,卖点等")
    private String brief;

    /**
     * 详细描述
     */
    @Schema(description = "详细描述")
    private String content;

    /**
     * 商品主图
     */
    @Schema(description = "商品主图")
    private String pic;

    /**
     * 商品图片，以,分割
     */
    @Schema(description = "商品图片，以,分割")
    private String imgs;

    /**
     * 默认是1，表示正常状态, -1表示删除, 0下架
     */
    @Schema(description = "默认是1，表示正常状态, -1表示删除, 0下架")
    private Integer status;

    /**
     * 商品分类ID
     */
    @Schema(description = "商品分类ID")
    private Long categoryId;

    /**
     * 销量
     */
    @Schema(description = "销量")
    private Integer soldNum;

    /**
     * 总库存
     */
    @Schema(description = "总库存")
    private Integer totalStocks;

    /**
     * 配送方式(json见TransportModeVO)
     */
    @Schema(description = "配送方式(json见TransportModeVO)")
    private Object deliveryMode;

    /**
     * 运费模板id
     */
    @Schema(description = "运费模板id")
    private Long deliveryTemplateId;

    /**
     * 录入时间
     */
    @Schema(description = "录入时间")
    private Date createTime;

    /**
     * 修改时间
     */
    @Schema(description = "修改时间")
    private Date updateTime;

    /**
     * 上架时间
     */
    @Schema(description = "上架时间")
    private Date putawayTime;

    /**
     * 版本 乐观锁
     */
    private Integer version;
}